(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 12.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[     14848,        343]
NotebookOptionsPosition[     12069,        287]
NotebookOutlinePosition[     12417,        302]
CellTagsIndexPosition[     12374,        299]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["Wolfram Language", "Title",
 CellChangeTimes->{{3.75925450766825*^9, 3.7592545124766483`*^9}, {
   3.7592563991884913`*^9, 3.759256399628497*^9}, 3.759259011103176*^9, 
   3.7592591190783105`*^9, {3.7592591843422313`*^9, 
   3.7592591871982346`*^9}},ExpressionUUID->"efc65e53-0a0d-42b8-8ef5-\
e94c7a5d94d6"],

Cell[CellGroupData[{

Cell["Language Bindings", "Chapter",
 CellChangeTimes->{{3.759254538596363*^9, 3.7592545462199197`*^9}, {
   3.759259202143306*^9, 3.759259204798311*^9}, 3.7592597918137426`*^9, 
   3.759260233355837*^9, 
   3.7592606824181767`*^9},ExpressionUUID->"886746eb-c2b6-4b0e-92a9-\
52fe508abbf1"],

Cell[CellGroupData[{

Cell["\<\
The Wolfram Language comes with many ways to interact with other languages\
\>", "Subchapter",
 CellChangeTimes->{{3.7592545499004517`*^9, 3.75925457646037*^9}, 
   3.759259210978356*^9, 3.759259798751042*^9, 3.7592602409478483`*^9, 
   3.7592606882808113`*^9},ExpressionUUID->"bc08db69-2c2a-4b2a-a036-\
8bf21a2b6a27"],

Cell[CellGroupData[{

Cell["J/Link", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592598049010525`*^9, 3.7592602486514072`*^9, 
   3.759260693825279*^9},ExpressionUUID->"88cde30a-e0d5-4b91-9ed2-\
faa0bf63be38"],

Cell["\<\
J/Link lets you call Java from the Wolfram Language in a completely \
transparent way, and it also lets you use and control the Wolfram Language \
kernel from a Java program. For Wolfram Language users, J/Link makes the \
whole universe of existing and future Java classes an automatic extension to \
the Wolfram Language environment. For Java programmers, J/Link turns the \
Wolfram Language into a scripting shell that lets you experiment with, build, \
and test Java classes a line at a time. It also makes Java the ideal language \
for writing programs that use the computational services of the Wolfram \
Language.\
\>", "Text",
 CellChangeTimes->{3.759254617210271*^9, 3.759259222824371*^9, 
  3.7592598125576277`*^9, 3.7592602543237824`*^9, 
  3.75926069957683*^9},ExpressionUUID->"bd30e318-073e-478f-9ffa-5f806ab14eb1"],

Cell["\<\
https://reference.wolfram.com/language/JLink/tutorial/Overview.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592596658678904`*^9, 3.759259666739888*^9}, 
   3.7592599810604706`*^9, 3.759260408545988*^9, 
   3.7592607073283815`*^9},ExpressionUUID->"4dc1d225-9834-4509-89cb-\
9a4386acce43"]
}, Open  ]],

Cell[CellGroupData[{

Cell["C/C++ LibraryLink", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592593264559927`*^9, 3.7592598199732056`*^9, 
   3.7592602590827904`*^9, 
   3.75926071408943*^9},ExpressionUUID->"d787b60d-bc5d-478e-8121-\
3f920fbde9de"],

Cell["\<\
Wolfram LibraryLink provides a powerful way to connect external code to the \
Wolfram Language, enabling high-speed and memory-efficient execution. It does \
this by allowing dynamic libraries to be directly loaded into the Wolfram \
Language kernel so that functions in the libraries can be immediately called \
from the Wolfram Language. You can exchange not only C-like data types such \
as integers, reals, packed arrays, and strings, but also arbitrary Wolfram \
Language expressions. In addition, there are useful functions such as sending \
errors and calling back to the Wolfram Language.\
\>", "Text",
 CellChangeTimes->{3.759254617210271*^9, 3.759259222824371*^9, 
  3.7592593342890053`*^9, 3.7592598276132493`*^9, 3.7592602658508787`*^9, 
  3.75926071989695*^9},ExpressionUUID->"a5bb76b3-18c6-4e50-85a3-536fbd11a347"],

Cell["\<\
https://reference.wolfram.com/language/LibraryLink/tutorial/Overview.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.759259340150014*^9}, {
   3.759259668251893*^9, 3.7592596691078925`*^9}, 3.75925999229214*^9, 
   3.7592604014259377`*^9, 
   3.7592607255841703`*^9},ExpressionUUID->"e3a51074-7ecc-48a5-b66d-\
5353c3a61cf8"]
}, Open  ]],

Cell[CellGroupData[{

Cell["RLink", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, {3.7592593264559927`*^9, 3.759259356009096*^9}, 
   3.7592598329726562`*^9, 3.759260271411264*^9, 
   3.759260734528743*^9},ExpressionUUID->"15719378-b0f4-49e8-ac7c-\
9efc24986a52"],

Cell["\<\
R is a programming language and software environment for statistical \
computing and graphics. RLink is a Wolfram System application that uses JLink \
and RJava / JRI Java libraries to link to the R functionality. It allows the \
user to communicate the data between the Wolfram Language and R, and execute \
R code from within the Wolfram Language.\
\>", "Text",
 CellChangeTimes->{
  3.759254617210271*^9, 3.759259222824371*^9, {3.7592593342890053`*^9, 
   3.7592593626641045`*^9}, 3.759259839581703*^9, 3.7592602781875553`*^9, 
   3.759260739808509*^9},ExpressionUUID->"5d345090-efa9-433b-ac4d-\
4e6a8f319498"],

Cell["\<\
https://reference.wolfram.com/language/RLink/tutorial/UsingRLink.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.7592593705411167`*^9}, {
   3.759259670867896*^9, 3.7592596720358973`*^9}, 3.7592600046678915`*^9, 
   3.759260392306876*^9, 
   3.75926074620852*^9},ExpressionUUID->"4e237e27-0fbb-464c-9d59-\
a96b9ec7cbb7"]
}, Open  ]],

Cell[CellGroupData[{

Cell[".NET/Link", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592593264559927`*^9, 3.7592593775193768`*^9, 
   3.759259846861828*^9, {3.759260285475519*^9, 3.759260295362534*^9}, {
   3.7592607543452644`*^9, 
   3.759260755702267*^9}},ExpressionUUID->"1a5ad3a9-61a9-4a91-88e7-\
c66f68a65ffb"],

Cell["\<\
.NET/Link lets you call .NET from the Wolfram Language in a completely \
transparent way, and allows you to use and control the Wolfram Language \
kernel from a .NET program. For Wolfram Language users, .NET/Link makes the \
entire .NET world an automatic extension to the Wolfram Language environment. \
For .NET programmers, .NET/Link turns the Wolfram Language into a scripting \
shell that lets you experiment with, build, and test .NET classes a line at a \
time. It also makes .NET an ideal environment for writing programs that use \
the computational services of the Wolfram Language.\
\>", "Text",
 CellChangeTimes->{3.759254617210271*^9, 3.759259222824371*^9, 
  3.7592593342890053`*^9, 3.7592593848156605`*^9, 3.759259853509837*^9, 
  3.759260300962618*^9, 
  3.7592607621132765`*^9},ExpressionUUID->"a9de1683-3c8b-49b6-990a-\
35bccade315c"],

Cell["\<\
https://reference.wolfram.com/language/NETLink/tutorial/Overview.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.759259340150014*^9}, {
   3.7592593894386683`*^9, 3.759259392661697*^9}, {3.7592596747719336`*^9, 
   3.759259675939933*^9}, 3.759260015387595*^9, 3.7592603831058617`*^9, 
   3.7592607689756165`*^9},ExpressionUUID->"1cd5f458-1077-494e-b68e-\
cb6130a7e530"]
}, Open  ]],

Cell[CellGroupData[{

Cell["DatabaseLink", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592593264559927`*^9, 3.7592594010727496`*^9, 
   3.75925986022941*^9, 3.7592603095146465`*^9, 
   3.759260777688051*^9},ExpressionUUID->"80a3f010-e1c5-4a4a-9ee4-\
fede4984d102"],

Cell["\<\
DatabaseLink is a toolkit for working with SQL databases built into the \
Wolfram Language. It provides an industrial-strength, ready-made solution for \
integrating the Wolfram Language with any standard SQL database.\
\>", "Text",
 CellChangeTimes->{3.759254617210271*^9, 3.759259222824371*^9, 
  3.7592593342890053`*^9, 3.7592594061602063`*^9, 3.759259868381464*^9, 
  3.7592603173077116`*^9, 
  3.759260783017081*^9},ExpressionUUID->"89665f40-5605-47d0-a98b-\
19889d221c72"],

Cell["\<\
https://reference.wolfram.com/language/DatabaseLink/tutorial/Overview.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.759259340150014*^9}, {
   3.7592596773959374`*^9, 3.759259678523939*^9}, 3.7592600244211473`*^9, 
   3.759260342617754*^9, {3.759260789344143*^9, 
   3.759260811120178*^9}},ExpressionUUID->"ad41e2e5-9336-46e8-bc90-\
cb0907dd69d2"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Wolfram Symbolic Transfer Protocol (WSTP)", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592593264559927`*^9, 3.7592594357676992`*^9, 
   3.759259876653505*^9, 3.7592603221305013`*^9, 
   3.759260828728236*^9},ExpressionUUID->"0f5b1657-612d-484e-83d9-\
d06dd7a76782"],

Cell["\<\
WSTP provides a C/C++ communication protocol to transfer Wolfram Language \
expressions between two processes.\
\>", "Text",
 CellChangeTimes->{
  3.759254617210271*^9, 3.759259222824371*^9, 3.7592593342890053`*^9, 
   3.759259440575786*^9, {3.759259886141286*^9, 3.759259887834306*^9}, 
   3.759260328531643*^9, 
   3.759260838768405*^9},ExpressionUUID->"b73f317f-0538-4333-8b1b-\
e7dfea1a6b1b"],

Cell["\<\
https://reference.wolfram.com/language/NETLink/tutorial/Overview.html\
\>", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.759259340150014*^9}, {
   3.7592594580709777`*^9, 3.7592594617029843`*^9}, 3.759260036732679*^9, 
   3.759260371177844*^9, 
   3.759260845319417*^9},ExpressionUUID->"5cf75334-ab0b-4eb2-9b6c-\
d4b15c0d039e"]
}, Open  ]],

Cell[CellGroupData[{

Cell["MATLink", "Section",
 CellChangeTimes->{{3.759254581547898*^9, 3.759254586683911*^9}, 
   3.7592592167793612`*^9, 3.7592593264559927`*^9, 3.7592594357676992`*^9, 
   3.759259876653505*^9, 3.7592603221305013`*^9, 3.759260828728236*^9, 
   3.759260871775752*^9},ExpressionUUID->"ad0a0410-3f6b-4279-b325-\
935dd7097b00"],

Cell["\<\
A Mathematica application for seamless two-way communication and data \
transfer with MATLAB. Harness the computational power of both systems \
efficiently using MATLink.\
\>", "Text",
 CellChangeTimes->{
  3.759254617210271*^9, 3.759259222824371*^9, 3.7592593342890053`*^9, 
   3.759259440575786*^9, {3.759259886141286*^9, 3.759259887834306*^9}, 
   3.759260328531643*^9, 3.759260838768405*^9, 
   3.7592608784477806`*^9},ExpressionUUID->"b918e9bf-ba70-4c11-93e7-\
ca646f1974ed"],

Cell["http://matlink.org/", "Text",
 CellChangeTimes->{{3.759254654435692*^9, 3.7592546572510176`*^9}, {
   3.759255768471407*^9, 3.759255771302414*^9}, {3.7592592290784073`*^9, 
   3.759259229974409*^9}, {3.7592593393180127`*^9, 3.759259340150014*^9}, {
   3.7592594580709777`*^9, 3.7592594617029843`*^9}, 3.759260036732679*^9, 
   3.759260371177844*^9, 3.759260845319417*^9, 
   3.759260884975683*^9},ExpressionUUID->"2fe2fa9b-1ee1-4c97-a0a5-\
2ae728c26e94"]
}, Open  ]]
}, Open  ]]
}, Open  ]]
}, Open  ]]
},
WindowSize->{958, 988},
WindowMargins->{{Automatic, -1927}, {Automatic, 0}},
FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (February 12, 2019)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[580, 22, 313, 5, 96, "Title",ExpressionUUID->"efc65e53-0a0d-42b8-8ef5-e94c7a5d94d6"],
Cell[CellGroupData[{
Cell[918, 31, 289, 5, 67, "Chapter",ExpressionUUID->"886746eb-c2b6-4b0e-92a9-52fe508abbf1"],
Cell[CellGroupData[{
Cell[1232, 40, 328, 6, 101, "Subchapter",ExpressionUUID->"bc08db69-2c2a-4b2a-a036-8bf21a2b6a27"],
Cell[CellGroupData[{
Cell[1585, 50, 250, 4, 67, "Section",ExpressionUUID->"88cde30a-e0d5-4b91-9ed2-faa0bf63be38"],
Cell[1838, 56, 837, 13, 122, "Text",ExpressionUUID->"bd30e318-073e-478f-9ffa-5f806ab14eb1"],
Cell[2678, 71, 444, 8, 34, "Text",ExpressionUUID->"4dc1d225-9834-4509-89cb-9a4386acce43"]
}, Open  ]],
Cell[CellGroupData[{
Cell[3159, 84, 288, 5, 67, "Section",ExpressionUUID->"d787b60d-bc5d-478e-8121-3f920fbde9de"],
Cell[3450, 91, 838, 12, 122, "Text",ExpressionUUID->"a5bb76b3-18c6-4e50-85a3-536fbd11a347"],
Cell[4291, 105, 501, 9, 34, "Text",ExpressionUUID->"e3a51074-7ecc-48a5-b66d-5353c3a61cf8"]
}, Open  ]],
Cell[CellGroupData[{
Cell[4829, 119, 299, 5, 67, "Section",ExpressionUUID->"15719378-b0f4-49e8-ac7c-9efc24986a52"],
Cell[5131, 126, 623, 11, 78, "Text",ExpressionUUID->"5d345090-efa9-433b-ac4d-4e6a8f319498"],
Cell[5757, 139, 497, 9, 34, "Text",ExpressionUUID->"4e237e27-0fbb-464c-9d59-a96b9ec7cbb7"]
}, Open  ]],
Cell[CellGroupData[{
Cell[6291, 153, 355, 6, 67, "Section",ExpressionUUID->"1a5ad3a9-61a9-4a91-88e7-c66f68a65ffb"],
Cell[6649, 161, 862, 14, 122, "Text",ExpressionUUID->"a9de1683-3c8b-49b6-990a-35bccade315c"],
Cell[7514, 177, 546, 9, 34, "Text",ExpressionUUID->"1cd5f458-1077-494e-b68e-cb6130a7e530"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8097, 191, 305, 5, 67, "Section",ExpressionUUID->"80a3f010-e1c5-4a4a-9ee4-fede4984d102"],
Cell[8405, 198, 488, 9, 56, "Text",ExpressionUUID->"89665f40-5605-47d0-a98b-19889d221c72"],
Cell[8896, 209, 525, 9, 34, "Text",ExpressionUUID->"ad41e2e5-9336-46e8-bc90-cb0907dd69d2"]
}, Open  ]],
Cell[CellGroupData[{
Cell[9458, 223, 335, 5, 67, "Section",ExpressionUUID->"0f5b1657-612d-484e-83d9-d06dd7a76782"],
Cell[9796, 230, 406, 9, 34, "Text",ExpressionUUID->"b73f317f-0538-4333-8b1b-e7dfea1a6b1b"],
Cell[10205, 241, 496, 9, 34, "Text",ExpressionUUID->"5cf75334-ab0b-4eb2-9b6c-d4b15c0d039e"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10738, 255, 323, 5, 67, "Section",ExpressionUUID->"ad0a0410-3f6b-4279-b325-935dd7097b00"],
Cell[11064, 262, 490, 10, 56, "Text",ExpressionUUID->"b918e9bf-ba70-4c11-93e7-ca646f1974ed"],
Cell[11557, 274, 460, 7, 34, "Text",ExpressionUUID->"2fe2fa9b-1ee1-4c97-a0a5-2ae728c26e94"]
}, Open  ]]
}, Open  ]]
}, Open  ]]
}, Open  ]]
}
]
*)

